AsyncStorage হল একটি স্টোরেজ সলিউশন যা React Native অ্যাপে ছোট এবং সহজ ডেটা স্টোর করার জন্য ব্যবহৃত হয়। এটি মূলত অ্যাপ্লিকেশন স্তরের স্টোরেজ হিসেবে কাজ করে, যেখানে আপনি কী-ভ্যালু পেয়ারের মাধ্যমে ডেটা সংরক্ষণ করতে পারেন। AsyncStorage ডেটা এনক্রিপ্টেড নয়, তাই এটি শুধুমাত্র সাধারণ ডেটার জন্য ব্যবহার করা উচিত, যেমন ইউজারের সেটিংস বা ছোট আকারের কনফিগারেশন।
AsyncStorage এর মাধ্যমে ডেটা স্টোর এবং রিট্রিভ করা
প্রথমে আপনাকে AsyncStorage ইনস্টল এবং ইম্পোর্ট করতে হবে।
১. AsyncStorage ইনস্টল করা
React Native এর নতুন ভার্সনে AsyncStorage আলাদা প্যাকেজ হিসেবে উপলব্ধ। প্রথমে আপনাকে এটি ইন্সটল করতে হবে:
npm install @react-native-async-storage/async-storage২. AsyncStorage ইম্পোর্ট করা
import AsyncStorage from '@react-native-async-storage/async-storage';ডেটা স্টোর করার পদ্ধতি
AsyncStorage ব্যবহার করে আপনি সহজেই ডেটা স্টোর করতে পারেন। নিচে একটি সিম্পল উদাহরণ দেওয়া হল, যেখানে একটি স্ট্রিং ভ্যালু স্টোর করা হচ্ছে।
const storeData = async (value) => {
try {
await AsyncStorage.setItem('@storage_Key', value); // স্টোর করা
console.log('Data stored successfully');
} catch (e) {
console.log('Failed to save data', e);
}
};এখানে, @storage_Key হল কীর নাম এবং value হল স্টোর করার ভ্যালু। আপনি যেকোনো স্ট্রিং বা সাধারণ ডেটা টাইপ স্টোর করতে পারবেন।
স্টোর করা ডেটা রিট্রিভ করার পদ্ধতি
স্টোর করা ডেটা রিট্রিভ (পুনরুদ্ধার) করার জন্য, আপনি AsyncStorage.getItem() ব্যবহার করবেন। নিচে একটি উদাহরণ দেওয়া হলো:
const getData = async () => {
try {
const value = await AsyncStorage.getItem('@storage_Key');
if (value !== null) {
// ডেটা পাওয়া গেছে
console.log('Stored data:', value);
} else {
console.log('No data found');
}
} catch (e) {
console.log('Failed to fetch data', e);
}
};এখানে, @storage_Key সেই কী যা আপনি পূর্বে setItem() দিয়ে স্টোর করেছিলেন, এবং value হল স্টোর করা ডেটা যা আপনি পুনরুদ্ধার করছেন।
ডেটা মুছে ফেলার পদ্ধতি
স্টোর করা ডেটা মুছে ফেলার জন্য AsyncStorage.removeItem() ব্যবহার করতে পারেন:
const removeData = async () => {
try {
await AsyncStorage.removeItem('@storage_Key');
console.log('Data removed successfully');
} catch (e) {
console.log('Failed to remove data', e);
}
};সম্পূর্ণ উদাহরণ: AsyncStorage ব্যবহার করে ডেটা স্টোর, রিট্রিভ, এবং মুছে ফেলা
import React, { useState } from 'react';
import { View, Text, Button } from 'react-native';
import AsyncStorage from '@react-native-async-storage/async-storage';
const App = () => {
const [data, setData] = useState('');
// ডেটা স্টোর করা
const storeData = async () => {
try {
await AsyncStorage.setItem('@storage_Key', 'Hello AsyncStorage');
console.log('Data stored successfully');
} catch (e) {
console.log('Failed to save data', e);
}
};
// ডেটা রিট্রিভ করা
const getData = async () => {
try {
const value = await AsyncStorage.getItem('@storage_Key');
if (value !== null) {
setData(value); // UI তে দেখানোর জন্য
console.log('Stored data:', value);
} else {
console.log('No data found');
}
} catch (e) {
console.log('Failed to fetch data', e);
}
};
// ডেটা মুছে ফেলা
const removeData = async () => {
try {
await AsyncStorage.removeItem('@storage_Key');
setData(''); // UI তে ডেটা মুছে ফেলা
console.log('Data removed successfully');
} catch (e) {
console.log('Failed to remove data', e);
}
};
return (
<View>
<Text>Stored Data: {data}</Text>
<Button title="Store Data" onPress={storeData} />
<Button title="Get Data" onPress={getData} />
<Button title="Remove Data" onPress={removeData} />
</View>
);
};
export default App;সারাংশ
- AsyncStorage সহজে key-value pair ডেটা স্টোর করার জন্য ব্যবহৃত হয়।
- এটি স্টোর করা ডেটা রিট্রিভ এবং মুছে ফেলার জন্য ব্যবহৃত হয়।
- AsyncStorage একটি অসিনক্রোনাস API, তাই
awaitএবংasyncব্যবহার করতে হয়। - AsyncStorage সাধারণত ছোট ডেটা, যেমন ইউজার প্রেফারেন্স বা সেটিংস সংরক্ষণ করতে ব্যবহৃত হয়, তবে এটি সিকিউর ডেটা স্টোরেজ নয়, তাই সিকিউরিটি ফিচারসহ ডেটার জন্য অন্য স্টোরেজ ব্যবহার করা উচিত।
Read more